// Lua代码模板
export const luaTemplates = {
    basic: {
        name: '基础模板',
        code: `-- Lua脚本基础模板
-- 作者: 
-- 日期: ${new Date().toLocaleDateString()}
-- 描述: 

-- 主函数
function main()
    print("Hello, Lua!")
end

-- 执行主函数
main()`
    },
  
    mqtt: {
        name: 'MQTT处理模板',
        code: `-- MQTT消息处理脚本
local mqtt = require('mqtt')
local port = require('port')
local myModule = require('myModule')
`
    },
  
    dataProcess: {
        name: '数据处理模板',
        code: `-- 数据处理脚本模板
-- 用于数据转换和处理

-- 数据验证函数
function validateData(data)
    if type(data) ~= "table" then
        return false, "数据必须是表格类型"
    end
    
    -- 检查必需字段
    local requiredFields = {"id", "timestamp", "value"}
    for _, field in ipairs(requiredFields) do
        if not data[field] then
            return false, "缺少必需字段: " .. field
        end
    end
    
    return true, "数据验证通过"
end

-- 数据转换函数
function transformData(inputData)
    local outputData = {}
    
    -- 复制基础字段
    outputData.id = inputData.id
    outputData.timestamp = inputData.timestamp
    
    -- 数据处理逻辑
    if type(inputData.value) == "number" then
        outputData.processedValue = inputData.value * 1.1 -- 示例处理
        outputData.status = "processed"
    else
        outputData.processedValue = 0
        outputData.status = "error"
    end
    
    return outputData
end

-- 主处理函数
function processData(rawData)
    local isValid, message = validateData(rawData)
    
    if not isValid then
        print("数据验证失败: " .. message)
        return nil
    end
    
    local result = transformData(rawData)
    print("数据处理完成")
    return result
end`
    }
}

export const getTemplateList = () => {
    return Object.keys(luaTemplates).map(key => ({
        key,
        name: luaTemplates[key].name
    }))
}

export const getTemplate = key => {
    return luaTemplates[key] || luaTemplates.basic
}